package pres.man.interview.simple;

/**
 * 怎么在不使用第三个变量的前提下，交换两个变量
 *
 * @Author MAN
 * @Date 2021-01-19-16:05
 */
public class NoThirdTemp {

    public static void main(String[] args) {
        int a = 1;
        int b = 2;

        // 数学法
//        add(a, b);
//        multi(a, b);
        xor(a, b);
    }

    private static void add(int a, int b) {
        a -= b;
        b += a;
        a = b - a;
        System.out.println(a);
        System.out.println(b);
    }

    private static void multi(int a, int b) {
        a *= b;
        b = a / b;
        a /= b;

        System.out.println(a);
        System.out.println(b);
    }

    private static void xor(int a, int b) {
        a ^= b;
        b ^= a;
        a ^= b;

        System.out.println(a);
        System.out.println(b);
    }
}
